34 research outputs found

    Modelling Constrained Dynamic Software Architecture with Attributed Graph Rewriting Systems

    Get PDF
    Dynamic software architectures are studied for handling adap- tation in distributed systems, coping with new requirements, new envi- ronments, and failures. Graph rewriting systems have shown their ap- propriateness to model such architectures, particularly while considering the consistency of theirs reconfigurations. They provide generic formal means to specify structural properties, but imply a poor description of specific issues like behavioural properties. This paper lifts this limita- tion by proposing a formal approach for integrating the consideration of constraints, non-trivial attributes, and their propagation within the framework of graph rewriting systems

    Modélisation formelle de systèmes dynamiques autonomes : graphe, réécriture et grammaire

    Get PDF
    Modern, large-scale systems are deployed in changing environments. They must dynamically adapt to context changes. In this scope, autonomic computing aims at reducing (or even suppress) slow and costly human interventions, by making systems achieve self-management. Self-adaptability of a system is primarily based on a suitable description of its components, their interactions and the various states it can adopt. Various mod! eling approaches have been elaborated, notably based on architecture description languages (ADLs) or generic models (e.g., UML, graphs). These representations usually focus on some aspects or properties of dynamic systems and do not tackle each of self-management's requirements. This manuscript deals with graph-based representations of dynamic systems and their suitability for the implementation of autonomic computing's four fundamental properties : self-optimization, self-protection, self-healing and self-configuring. This thesis offers four principal theoretical and applied contributions The first one is a methodology for the construction and generative characterization of transformations correct by construction whose application necessarily preserves a system's correctness. An application can therefore efficiently remains in an acceptable state while evolving. The second one consists in an extension of graph rewriting systems allowing to easily and efficiently represent, update, evaluate and configure a system's characteristics. These claims are supported by concrete example relying on DIET, a distributed and hierarchical load balancer. An experimental study reveals a significant efficiency gain with regard to classical methods, in particular those integrated to AGG and GMTE. The third contribution is articulated around the design of an end-to-end manager for complex events processing requests. It demonstrates the interest of graphs as an abstract, high-level, representation in an applicative context comprising numerous fragmented technical solutions. The fourth and last one relies on the design of an autonomic manager for any Machine-to-Machine system complying to the ETSI M2M2 standard. It illustrates the methodology for correct transformations, but also the integration of the proposed representation within a multi-model approach including internal consistency concerns. The approach's feasibility is experimentally demonstrated using a smart metering application.Les systèmes distribués modernes à large-échelle évoluent dans des contextes variables soumis à de nombreux aléas auxquels ils doivent s'adapter dynamiquement. Dans ce cadre, l'informatique autonome se propose de réduire (voire supprimer) les interventions humaines lentes et coûteuse, en leur préférant l'auto-gestion. L'adaptabilité autonome d'un système repose avant tout sur une description adéquate de ses composants, de leurs interactions et des différents aspects ou topologies qu’il peut adopter. Diverses approches de modélisation ont étés proposées dans la littérature, basées notamment sur des langages de descriptions spécifiques (e.g., les ADLs) ou des modèles génériques plus ou moins formels (e.g., profils UML, graphes). Ces représentations se concentrent en général sur certains aspects ou propriétés du système dynamique et ne permettent ainsi pas de répondre à chacune des problématiques inhérentes à l'auto-gestion. Cette thèse traite de la modélisation basée graphes des systèmes dynamiques et de son adéquation pour la mise en œuvre des quatre propriétés fondamentales de l'informatique autonome : l'auto-optimisation, l'auto-protection, l'auto-guérison et l'auto-configuration. Cette thèse propose quatre principales contributions théoriques et appliquées. La première est une méthodologie pour la construction et la caractérisation générative de transformations correctes par construction dont l'application préserve nécessairement la correction du système. Le maintien d'une application dans un état acceptable peut ainsi être efficacement garanti lors de son adaptation. La seconde contribution consiste en une extension des systèmes de réécriture de graphe permettant de représenter, mettre à jour, évaluer et paramétrer les caractéristiques d'un système aisément et efficacement. Ces affirmations sont soutenues par des exemples illustratifs concrets reposant sur DIET, un répartiteur de charge distribué. Une étude expérimentale extensive révèle un net gain d'efficacité vis à vis de méthodes classiques, en particulier celles intégrées nativement aux outils AGG et GMTE. La troisième contribution s'articule autour de l'élaboration d'un module de gestion de bout en bout pour des requêtes de traitement d'événements complexes. Elle démontre l'intérêt des graphes en tant que représentation abstraite et haut niveau dans un contexte applicatif comprenant de multiples solutions fragmentées. La quatrième et dernière contribution réside dans le design d'un gestionnaire autonome apte à régenter tout système Machine-à-Machine se conformant au standard ETSI M2M. Elle illustre la méthodologie relative à la correction par construction, mais également l'intégration de la représentation proposée à des approches multi-modèles incluant des problématiques de cohérence interne. La faisabilité de l'approche est démontrée expérimentalement en s'appuyant sur une application de compteur intelligent pour la domotique

    Correctness by Construction and Style Preserving Reconfigurations of Distributed Systems.

    Get PDF
    In distributed systems and dynamic environments, software architectures may evolve. A crucial issue when conducting system evolutions is to maintain the system in a consistent and functional state. Based on formal proofs in design-time, correctness by construction has recently emerged to efficiently guarantee system coherency. This article proposes a new method for the construction and specification of correct by construction system reconfigurations. Such transformations are characterized by graph rewriting rules that necessarily preserve the coherency of a system. We firstly propose operators on graph transformations and show that they conserve their correctness. Given a system specified by a graph grammar, these operators then serve to construct and characterize a set of correct transformations. We show in particular that any correct configuration can be reached starting from any other one without inconsistent intermediate step, using these transformations only

    Self-management of machine-to-machine communications: a multi-models approach

    Get PDF
    International audienceMachine-to-Machine (M2M) paradigm apply to systems composed by numerous devices sharing information and making cooperative decisions with little or no human intervention. The M2M standard defined by the European Telecommunications Standards Institute (ETSI) is the only one providing an end-to-end view of the global M2M architecture. Noticeably, it furnishes a standardised framework for inter-operable M2M services that satisfies most of M2M modelling requirements. However, and even though M2M systems usually operate in highly evolving contexts, this standard does not address the issue of system adaptations. It is furthermore unsuitable for building self-managed systems. This paper introduces a multi-model approach for modelling manageable M2M systems. Said approach consists in a formal graph-based model on top of the ETSI M2M standard, alongside bi-directional updates that ensure layer coherency. Its fitness for enforcing self-management properties is demonstrated by designing high-level reconfiguration rules. Finally, its applicability is illustrated and evaluated using a smart-metering application

    Enhanced Graph Rewriting Systems for Complex Software Domains (SoSyM Abstract)

    Get PDF
    International audienceMethodologies for correct by construction reconfigu-rations can efficiently solve consistency issues in dynamic software architecture. Graph-based models are appropriate for designing such architectures and methods. At the same time, they may be unfit to characterize a system from a non functional perspective. This stems from efficiency and applicability limitations in handling time-varying characteristics and their related dependencies. In order to lift these restrictions, an extension to graph rewriting systems is proposed herein. The suitability of this approach, as well as the restraints of currently available ones, are illustrated, analysed and experimentally evaluated with reference to a concrete example. This investigation demonstrates that the conceived solution can: (i) express any kind of algebraic dependencies between evolving requirements and properties; (ii) significantly ameliorate the efficiency and scalability of system modifications with respect to classic methodologies; (iii) provide an efficient access to attribute values; (iv) be fruitfully exploited in software management systems; (v) guarantee theoretical properties of a grammar, like its termination. This is an extended abstract for the Models 2015 Conference of the journal paper of the same name [1]. I. MOTIVATION Dynamic software architectures enable adaptation in evolving distributed systems. A crucial undesirable implication of such adaptations is a potential loss of correctness, the system withdrawing from its scope of consistency. Besides correctness, the system has evolving non-functional requirements, which are tightly linked to its appropriateness or efficiency. The satisfaction of these objectives depends on the properties of the system, its components, and their relations. On one hand, graph-based models are appropriate for the design of adaptation rules that necessarily preserve the system's consistency. On the other, currently available graph based methods exhibit limitations with regard to the description of system properties, in particular regarding their evolution and inter-dependencies

    Graph-based formalism for Machine-to-Machine self-managed communications

    Get PDF
    International audienceMachine-to-Machine communications comprise a large number of intelligent devices sharing information and making cooperative decisions without any human intervention. To support M2M requirements and applications which are in perpetual evolution, many standards are designed, updated and rendered obsolete. Among these, arise from The European Telecommunications Standards Institute (ETSI) a promising standard for M2M communications. The ETSI M2M provides in particular a standardized framework for interoperable M2M Services. As most of its peer, this standard does not, however, address the issue of dynamic reconfiguration or provide a suitable model for the reasoning required to build self-managed M2M architectures. In our paper, we propose a graph-based approach built on top of the ETSI standard, including rules for reconfiguration management, to enforce self-management properties of M2M communications

    Generic approach for graph-based description of dynamically reconfigurable architectures

    Get PDF
    Architectural adaptation is studied for handling adaptation in autonomic distributed systems. It is achieved by implementing a model-based approach for managing reconfiguration of dynamic architectures. Describing such architectures includes defining rules for describing both architectural styles and theirs reconfiguration mechanisms. Within this research context, the work presented in this paper is conducted using formal specification based on graphs and graph rewriting appropriately for tackling architectural adaptation problems. A graph-based general approach for describing architectures and handling their dynamic reconfiguration is introduced. Our approach is illustrated in the context of a distributed hierarchical application. The formal models that allow the generation of a graph grammar for dynamic architecture description and the automatic definition of transformation rules for achieving intern self-protecting during the adaptation are elaborated

    Caractérisation de la reconfiguration dynamique des architectures logicielles par les grammaires de graphe

    Get PDF
    National audienceL'adaptabilité automatique d'une application est devenue impérative dans un contexte dynamique de syst emes complexes fortement distribués et contenant un grand nombre de composants. La résolution de cette problématique peut etre obtenue grâcè a l'adaptation structurelle impliquant une re-configuration de la structure architecturale de l'application. Nous présentons dans cet article un formalisme permettant, en utilisant les grammaires de graphes, de caractériser le style architectural d'une application et les transformations applicables lors de son exécution

    From Inception to Execution: Query Management for Complex Event Processing as a Service

    Get PDF
    International audienceComplex Event Processing (CEP) is a set of tools and techniques that can be used to obtain insights from high- volume, high-velocity continuous streams of events. CEP-based systems have been adopted in many situations that require prompt establishment of system diagnostics and execution of reaction plans, such as in monitoring of complex systems. This article describes the Query Analyzer and Manager (QAM) mod- ule, a first effort toward the development of a CEP as a Service (CEPaaS) system. This module is responsible for analyzing user-defined CEP queries and for managing their execution in distributed cloud-based environments. Using a language-agnostic internal query representation, QAM has a modular design that enables its adoption by virtually any CEP system

    A Graph Transformation-Based Approach for the Validation of Checkpointing Algorithms in Distributed Systems

    Get PDF
    International audience—Autonomic Computing Systems are oriented to pre-vente the human intervention and to enable distributed systems to manage themselves. One of their challenges is the efficient monitoring at runtime oriented to collect information from which the system can automatically repair itself in case of failure. Quasi-Synchronous Checkpointing is a well-known technique, which allows processes to recover in spite of failures. Based on this technique, several checkpointing algorithms have been developed. According to the checkpoint properties detected and ensured, they are classified into: Strictly Z-Path Free (SZPF), Z-Path Free (ZPF) and Z-Cycle Free (ZCF). In the literature, the simulation has been the method adopted for the performance evaluation of checkpointing algorithms. However, few works have been designed to validate their correctness. In this paper, we propose a validation approach based on graph transformation oriented to automatically detect the previous mentioned checkpointing properties. To achieve this, we take the vector clocks resulting from the algorithm execution, and we model it into a causal graph. Then, we design and use transformation rules oriented to verify if in such a causal graph, the algorithm is exempt from non desirable patterns, such as Z-paths or Z-cycles, according to the case
    corecore